선형 암호해독
1. 개요
1. 개요
선형 암호해독은 대칭키 암호를 공격하는 기법 중 하나로, 암호 알고리즘의 선형적 특성을 이용하여 암호키를 찾아내는 방법이다. 이 공격은 암호 시스템의 입력(평문)과 출력(암호문) 사이에 존재할 수 있는 통계적 선형 관계를 분석하는 데 기반을 둔다.
이 기법의 핵심은 암호의 구성 요소인 S-박스나 라운드 함수 등이 완벽하게 비선형적이지 않아 발생하는 약점을 찾는 것이다. 공격자는 충분한 수의 평문-암호문 쌍을 수집한 후, 선형 관계가 성립할 확률이 무작위 확률(1/2)에서 크게 벗어나는 선형 근사를 구성한다. 이를 통해 최종 라운드 키의 일부 비트에 대한 정보를 얻어내고, 브루트 포스 공격에 필요한 탐색 공간을 크게 줄일 수 있다.
선형 암호해독은 차분 암호해독과 함께 블록 암호를 분석하는 대표적인 선택 평문 공격으로 분류된다. 이 공격의 효율성은 암호 알고리즘이 가진 비선형성과 확산 성질에 직접적으로 영향을 받는다. 따라서 현대 암호 설계에서는 혼돈과 확산의 원칙을 강화하여 이러한 선형 공격에 대한 저항성을 높이는 것이 중요하다.
2. 수학적 원리
2. 수학적 원리
2.1. 선형 근사
2.1. 선형 근사
선형 근사는 선형 암호해독 공격의 핵심적인 수학적 원리이다. 이 기법은 암호 알고리즘 내부의 복잡한 비선형 연산(예: S-box)을 단순한 선형 방정식으로 근사하여 표현하는 것을 목표로 한다. 암호 시스템은 이상적으로 완벽한 비선형성을 가져야 하지만, 실제 구현된 블록 암호에서는 완전한 무작위성에 가까운 비선형성을 달성하기 어렵다. 선형 근사는 이러한 비선형 구성 요소에서 발생하는 약한 상관관계나 통계적 편향을 찾아내고, 이를 통해 전체 암호화 과정을 하나의 선형 관계식으로 모델링한다.
구체적으로, 공격자는 암호문의 특정 비트들과 평문의 특정 비트들, 그리고 사용된 암호키의 특정 비트들 사이에 성립할 확률이 1/2에서 벗어난 선형 관계를 탐색한다. 이렇게 발견된 선형 근사 관계는 확률 p로 성립하며, p가 1/2에서 멀수록(즉, 0이나 1에 가까울수록) 그 근사는 더 강력한 편향을 의미한다. 이 편향은 Piling-up Lemma를 통해 여러 라운드에 걸친 근사를 결합하는 데 활용되어, 최종적으로 전체 암호에 대한 선형 근사를 구성하는 기초가 된다.
이러한 선형 근사식이 확립되면, 공격자는 충분한 수의 알려진 평문-암호문 쌍을 수집하여 방정식에 대입한다. 그 후 통계적 분석을 수행하여 가장 높은 확률로 성립하는 부분 키 후보를 추정할 수 있다. 결국 선형 근사는 복잡한 암호를 단순한 선형 문제로 환원시키는 도구로, 키 공간을 효과적으로 줄여 전수 조사 공격보다 훨씬 효율적인 공격을 가능하게 한다.
2.2. 선형 특성표
2.2. 선형 특성표
선형 특성표는 선형 암호해독 공격에서 핵심적인 도구로 사용되는 표이다. 이 표는 특정 블록 암호의 S-박스와 같은 비선형 구성 요소에 대한 선형 근사의 확률적 편향을 정량적으로 나타낸다. 구체적으로, 입력 비트 마스크와 출력 비트 마스크의 조합에 대해, XOR 합이 0이 될 확률이 1/2에서 얼마나 벗어나는지를 기록한다. 이 편향 값이 클수록 해당 선형 근사가 더 강력하며, 공격에 유리하게 작용한다.
선형 특성표를 구성하는 과정은 각 S-박스에 대해 가능한 모든 입력 및 출력 마스크 조합을 테스트하여 통계적 특성을 분석하는 것이다. 이 표에서 가장 높은 절대값의 편향을 갖는 항목을 찾는 것이 중요하다. 이러한 강한 선형 근사는 여러 라운드를 연결하여 전체 암호 알고리즘에 대한 선형 궤적을 구성하는 기초 재료가 된다. 따라서 선형 특성표의 분석은 공격의 성공 가능성과 필요한 평문-암호문 쌍의 수를 직접적으로 결정한다.
표는 일반적으로 행을 입력 마스크, 열을 출력 마스크로 하고, 각 셀에 해당 조합의 편향 값을 기록하는 형태로 작성된다. 편향 값은 확률에서 1/2을 뺀 값으로, 그 범위는 -1/2에서 1/2 사이이다. 값이 0에 가까울수록 선형 근사로서의 유용성이 낮음을 의미한다. 공격자는 이 표를 활용해 전체 암호화 과정에서 누적 편향이 가장 큰 선형 근사 경로, 즉 최적의 선형 궤적을 탐색하게 된다.
2.3. 선형 궤적
2.3. 선형 궤적
선형 궤적은 선형 암호해독 공격에서 핵심적인 개념으로, 암호 알고리즘의 내부 라운드를 거치면서 유지되는 선형 근사 관계의 연결 경로를 의미한다. 공격자는 암호의 전체 구조를 여러 라운드로 나누고, 각 라운드의 S-box와 같은 비선형 구성 요소에 대해 선형 근사를 찾는다. 이렇게 발견된 개별 라운드의 근사 관계들을 종단 간으로 연결하여, 최종적으로 평문 비트, 암호문 비트, 그리고 사용된 라운드 키 비트들 사이의 하나의 선형 방정식을 구성하게 된다. 이 연결된 경로가 바로 선형 궤적이다.
효과적인 선형 궤적을 구성하기 위해서는 각 라운드에서의 선형 근사가 가능한 높은 확률을 가져야 하며, 이러한 근사들이 서로 연결될 때 전체 확률이 유의미하게 유지되어야 한다. Piling-up Lemma는 이러한 여러 라운드의 근사 확률을 결합하여 전체 선형 궤적의 유효성을 계산하는 데 사용되는 중요한 도구이다. 공격의 성공 가능성은 이 궤적의 총 편향, 즉 선형 관계가 성립할 확률이 1/2에서 벗어난 정도에 직접적으로 좌우된다.
따라서, 선형 궤적 설계는 선형 암호해독 공격의 준비 단계에서 가장 중요한 과정 중 하나이다. 공격자는 암호의 설계 상세를 분석하여 가장 높은 총 편향을 제공하는 궤적을 찾아내야 하며, 이를 바탕으로 필요한 평문-암호문 쌍의 수를 추정하고 최종적인 키 복구 공격을 수행하게 된다. 이는 차분 암호해독에서 사용되는 차분 궤적과 유사한 맥락의 개념이다.
3. 공격 방법
3. 공격 방법
3.1. 선형 암호해독 공격
3.1. 선형 암호해독 공격
선형 암호해독 공격은 블록 암호의 취약점을 분석하는 대표적인 선택 평문 공격 기법 중 하나이다. 이 공격은 암호 알고리즘 내부에서 발생하는 선형 관계를 이용하여, 최종 라운드의 부분 암호키를 추측하거나 전체 암호키 공간을 효과적으로 줄이는 것을 목표로 한다.
공격의 핵심은 암호의 비트 연산(주로 XOR)과 치환 과정에서 발견되는 확률적인 선형 관계, 즉 선형 근사를 구성하는 것이다. 공격자는 충분한 수의 평문과 암호문 쌍을 수집한 후, 사전에 구성해 둔 선형 근사식이 실제로 성립하는 빈도를 관측한다. 이 관측된 빈도는 이론적으로 예측된 확률과 비교되며, 예측과 가장 잘 맞는 라운드 키 후보가 올바른 키일 가능성이 높다고 판단된다.
성공적인 공격을 위해서는 공격에 필요한 평문-암호문 쌍의 수는 선형 근사의 편차(이론적 확률과 1/2의 차이)에 크게 의존한다. 편차가 클수록, 즉 선형 근사의 확률이 1/2에서 멀수록 필요한 쌍의 수는 기하급수적으로 줄어들어 공격 효율이 높아진다. 이 관계는 Piling-up Lemma를 통해 정량적으로 추정할 수 있다.
이 공격 방식은 FEAL과 같은 초기 암호에 대해 매우 효과적임이 입증되었으며, DES와 같은 강력한 암호에 대해서도 축소 라운드 버전을 공격하는 데 활용되었다. 선형 암호해독의 등장은 암호 설계자들에게 S-박스의 비선형성과 전체 구조의 확산 성질을 강화하도록 하는 중요한 계기가 되었다.
3.2. Piling-up Lemma
3.2. Piling-up Lemma
Piling-up Lemma는 선형 암호해독 공격에서 여러 개의 독립적인 선형 근사를 결합할 때, 그 결합된 근사의 확률을 계산하는 데 사용되는 수학적 정리이다. 이는 공격의 성공 확률을 예측하고 필요한 평문-암호문 쌍의 수를 추정하는 데 핵심적인 역할을 한다.
이 정리는 기본적으로 독립적인 확률 변수들의 배타적 논리합(XOR) 결과에 대한 편향을 계산하는 방법을 제공한다. 각 선형 근사식은 특정 확률로 성립하는데, Piling-up Lemma는 이러한 여러 근사식을 하나의 긴 선형 궤적으로 연결했을 때 전체 식이 성립할 확률을 각 개별 확률로부터 도출한다. 이를 통해 암호학자는 공격에 필요한 데이터 양을 효율적으로 계산할 수 있다.
Piling-up Lemma의 계산은 상대적으로 간단하다. 예를 들어, 두 개의 독립적인 선형 근사식이 각각 확률 p1과 p2로 성립한다면, 이 둘을 XOR한 식이 성립할 확률은 Piling-up Lemma에 따라 계산된다. 이 과정을 반복 적용하면 복잡한 다중 라운드에 대한 선형 궤적의 성립 확률을 유도할 수 있다. 이 확률이 1/2에서 멀수록, 즉 편향의 크기가 클수록 더 효과적인 공격이 가능해진다.
따라서 이 보조정리는 선형 암호해독 공격을 체계적으로 구성하고 그 실효성을 분석하는 이론적 토대가 된다. 차분 암호해독에서 사용되는 확률의 연쇄 법칙과 개념적으로 유사한 역할을 수행하며, 블록 암호의 선형성을 평가하는 중요한 도구로 자리 잡았다.
3.3. 필요한 평문-암호문 쌍
3.3. 필요한 평문-암호문 쌍
선형 암호해독 공격을 성공적으로 수행하려면 충분한 수의 평문-암호문 쌍이 필요하다. 이는 공격자가 수집한 쌍을 통해 선형 근사의 확률적 편향을 실제로 관측하고 검증할 수 있어야 하기 때문이다. 필요한 쌍의 수는 공격 대상 블록 암호의 구조, 특히 S-박스와 같은 비선형 구성 요소의 선형 근사 품질, 그리고 공격자가 구성한 선형 근사의 편향 크기에 크게 의존한다.
일반적으로 선형 근사의 편향이 클수록, 즉 확률이 1/2에서 멀수록 공격에 필요한 평문-암호문 쌍의 수는 줄어든다. 필요한 쌍의 수는 편향의 제곱에 반비례하는 경향을 보인다. 따라서 공격자는 가능한 한 편향이 큰, 즉 가장 높은 확률을 가지는 선형 근사를 찾는 데 주력한다. FEAL과 같은 초기 암호에 대한 선형 암호해독 공격은 상대적으로 적은 수의 쌍으로도 가능했던 반면, DES와 같이 설계가 견고한 암호에 대해서는 훨씬 더 많은 데이터가 필요하다.
이론적으로 필요한 평문-암호문 쌍의 수를 추정하는 데는 통계적 분석이 사용된다. 공격자는 주어진 편향 값을 바탕으로, 선형 근사가 우연히 성립할 확률을 매우 낮게 만들기 위해 필요한 샘플 크기를 계산한다. 실제 공격에서는 이론적 추정치보다 더 많은 쌍이 필요할 수 있으며, 이는 노이즈나 측정 오차, 또는 암호 알고리즘 내 다른 비선형 요소의 간섭 때문이다. 충분한 데이터를 확보하면, 공격자는 최대 우도 추정과 같은 통계적 방법을 통해 라운드 키의 일부 비트에 대한 정보를 점진적으로 복구해 나갈 수 있다.
4. 응용 및 사례
4. 응용 및 사례
4.1. FEAL 암호에 대한 공격
4.1. FEAL 암호에 대한 공격
FEAL 암호는 1987년 일본 NTT에서 개발한 블록 암호이다. 초기에는 DES를 대체할 고속 암호로 제안되었으나, 선형 암호해독을 포함한 여러 암호 공격에 취약한 것으로 밝혀지면서 보안성에 심각한 결함이 있음이 드러났다.
FEAL에 대한 선형 암호해독 공격은 주로 그 라운드 함수의 단순한 구조와 약한 비선형성을 표적으로 한다. FEAL의 S-box는 XOR과 순환 시프트 연산, 덧셈 모듈로 256으로 구성되어 있어 선형 근사를 구성하기 상대적으로 쉬웠다. 연구자들은 FEAL-4, FEAL-8 등 낮은 라운드 수의 변종에 대해 높은 확률을 가진 선형 근사를 발견했으며, 이를 통해 키 복구 공격을 성공적으로 수행할 수 있음을 증명했다.
이 공격들은 FEAL 암호의 설계가 확산과 혼돈 원리를 충분히 만족시키지 못함을 보여주는 대표적인 사례가 되었다. FEAL에 대한 성공적인 선형 분석은 이후 새로운 블록 암호 설계 시 비선형 구성 요소의 중요성과 라운드 수를 충분히 늘릴 필요성에 대한 교훈을 남겼다. 이 사례는 암호학에서 이론적 공격이 실제 암호의 안전성 평가에 어떻게 적용되는지를 보여준다.
4.2. DES에 대한 공격
4.2. DES에 대한 공격
선형 암호해독은 DES와 같은 블록 암호에 대한 중요한 암호해독 기법 중 하나이다. DES는 페스텔 네트워크 구조를 가지며, 반복적인 라운드 함수를 적용하는데, 이 과정에서 선형 근사를 찾을 수 있다면 공격이 가능해진다. DES에 대한 선형 암호해독 공격은 암호의 비선형성이 충분히 강하지 않을 경우, 암호문과 평문 비트들 사이에 존재하는 통계적 선형 관계를 이용하여 라운드 키를 복구하는 것을 목표로 한다.
이 공격의 핵심은 S-박스의 선형 근사를 찾는 것이다. DES의 S-박스는 설계 상 비선형성을 제공하지만, 완벽하지는 않아 일부 입력 비트와 출력 비트 사이에 약한 상관 관계가 존재할 수 있다. 공격자는 이러한 약한 관계를 여러 라운드에 걸쳐 연결하여 전체 암호에 대한 선형 근사식을 구성한다. 이 근사식은 특정 평문 비트, 암호문 비트, 그리고 사용된 서브키 비트들 사이의 확률적 관계를 표현한다.
DES에 대한 구체적인 선형 암호해독 공격 사례로는 1992년 미쓰이 미츠루에 의해 처음 제안된 공격이 있다. 이 공격은 16라운드 전체 DES에 대해, 약 2^47개의 알려진 평문을 사용하여 마지막 라운드의 서브키 비트를 복구할 수 있음을 보였다. 이는 당시 전수 조사 공격보다 훨씬 효율적인 결과였다. 이후 연구를 통해 공격에 필요한 평문 수가 2^43개로 개선되기도 했다.
이러한 공격은 DES의 안전성에 대한 심각한 위협으로 인식되었으며, 암호 설계 시 확산과 비선형성의 중요성을 부각시키는 계기가 되었다. DES에 대한 선형 암호해독 공격의 성공은 이후 더 강력한 AES와 같은 새로운 암호 표준의 등장을 촉진하는 요인 중 하나가 되었다.
5. 대응 방안
5. 대응 방안
5.1. 비선형성 강화
5.1. 비선형성 강화
선형 암호해독 공격에 효과적으로 대응하기 위한 핵심적인 설계 원칙은 암호 알고리즘의 비선형성을 강화하는 것이다. 선형 암호해독은 암호의 구성 요소들 사이에 존재하는 선형적인 관계를 이용하므로, 이러한 관계를 최대한 깨뜨리고 복잡하게 만드는 것이 공격을 어렵게 만든다.
비선형성을 높이는 가장 직접적인 방법은 S-박스(치환 박스)의 설계를 최적화하는 것이다. 암호 알고리즘, 특히 블록 암호의 핵심 구성 요소인 S-박스는 높은 비선형성을 가져야 하며, 선형 근사가 거의 불가능하도록 설계된다. 이를 위해 S-박스의 입력과 출력 비트 간의 상관관계를 최소화하고, 선형 특성표의 최대 편차 값을 가능한 한 낮게 유지하는 것이 중요하다. 또한, 비트 단위의 연산에서 XOR 같은 선형 연산만을 사용하기보다는, 모듈러 덧셈, 데이터 의존적 순열 등 비선형 연산을 혼합하여 적용하는 방식도 채택된다.
이러한 비선형성 강화 조치는 단독으로 적용되기보다는 확산 성질 증가와 결합되어 종합적인 암호 강도를 높인다. 예를 들어, 여러 라운드에 걸쳐 비선형 S-박스의 출력이 충분히 혼합되고 확산되도록 설계하면, 국소적인 선형 관계가 전체 암호문으로 전파되는 것을 방해할 수 있다. 결과적으로, 암호 설계자는 선형 암호해독과 차분 암호해독을 포함한 다양한 암호 분석 기법에 동시에 저항할 수 있도록 알고리즘의 내부 구조를 신중하게 구성해야 한다.
5.2. 확산 성질 증가
5.2. 확산 성질 증가
확산 성질 증가는 선형 암호해독 공격에 효과적으로 대응하기 위한 핵심 설계 원칙 중 하나이다. 이는 암호 알고리즘 내에서 입력 비트 하나의 변화가 출력의 많은 비트에 빠르고 광범위하게 영향을 미치도록 하는 것을 목표로 한다. 즉, 암호문의 각 비트가 가능한 한 많은 평문 비트와 키 비트에 의존하도록 설계함으로써, 공격자가 유효한 선형 근사식을 찾는 것을 극도로 어렵게 만든다.
이를 구현하는 주요 방법은 라운드 함수에 강력한 확산 계층을 도입하는 것이다. 대표적인 예로 DES와 같은 블록 암호에서 사용되는 순열 함수나, AES에서 활용되는 ShiftRows 및 MixColumns 연산이 있다. 이러한 연산들은 데이터의 비트 위치를 체계적으로 뒤섞거나 여러 비트를 혼합하여, 국소적인 비트 관계가 전체 암호문에 걸쳐 분산되도록 한다.
확산 성질을 증가시키면, 공격자가 의미 있는 선형 궤적을 구성하기 위해 필요한 라운드 수가 급격히 늘어난다. 이는 공격에 필요한 평문-암호문 쌍의 수를 현실적으로 불가능한 수준까지 증가시켜 선형 암호해독 공격의 실효성을 떨어뜨린다. 따라서 현대의 안전한 블록 암호 설계에서는 높은 비선형성과 함께 강력한 확산 성질을 필수적으로 결합하고 있다.
6. 관련 개념
6. 관련 개념
6.1. 차분 암호해독
6.1. 차분 암호해독
차분 암호해독은 블록 암호에 대한 선택 평문 공격의 한 형태로, 암호문의 차이(차분)가 평문의 차이에 어떻게 의존하는지를 분석하여 암호 키를 찾아내는 공격 방법이다. 이 공격은 특정 평문 쌍과 그에 대응하는 암호문 쌍 사이의 고정된 차이값(차분)이 암호의 라운드를 거치면서 나타나는 확률적 분포를 추적하는 방식으로 수행된다. 공격 성공을 위해서는 공격자가 원하는 평문 쌍을 선택하여 암호화할 수 있는 환경이 필요하다.
차분 암호해독의 핵심은 암호의 비선형 구성 요소인 S-박스의 입력 차분에 대한 출력 차분의 분포를 분석하여 구성하는 차분 특성표이다. 높은 확률을 가지는 차분 특성(평문 차분이 특정 암호문 차분으로 연결되는 경로)을 발견하면, 이를 통해 실제 암호화에 사용된 라운드 키를 추측하고 검증할 수 있다. 이 공격은 선형 암호해독과 함께 현대 블록 암호 설계에 있어 가장 중요한 고려사항 중 하나가 되었다.
이 공격 기법은 1990년대 초 Biham과 Shamir에 의해 DES를 분석하는 과정에서 공식적으로 제안되었으며, 이후 FEAL을 비롯한 여러 암호에 대한 효과적인 공격 사례로 그 위력이 입증되었다. 차분 암호해독에 대한 대응으로 암호 설계자들은 S-박스의 차분 특성을 균일하게 만들고, 확산 성질을 강화하며, 라운드 수를 증가시키는 등의 방어 기법을 도입하게 되었다.
6.2. 대수적 공격
6.2. 대수적 공격
대수적 공격은 암호 시스템을 다항식 방정식이나 대수적 관계식의 집합으로 표현한 뒤, 이를 해결하여 비밀키를 복구하는 암호 분석 기법이다. 이 공격은 암호 알고리즘의 내부 연산(예: S-박스의 입출력, 모듈러 덧셈, 비트 연산 등)을 대수적 방정식으로 모델링하는 것을 핵심으로 한다. 공격의 성공 여부는 생성된 방정식 체계를 얼마나 효율적으로 풀 수 있는지에 달려 있으며, 이를 위해 그뢰브너 기저나 선형화 기법과 같은 수학적 도구가 활용된다.
대수적 공격은 블록 암호, 스트림 암호, 특히 공개키 암호 체계에 대해 연구되고 적용된다. 예를 들어, 일부 스트림 암호에 사용되는 선형 피드백 시프트 레지스터(LFSR) 기반 필터 함수나 결합 함수는 비선형성이 낮을 경우, 출력 비트와 내부 상태 비트 사이의 대수적 관계가 비교적 낮은 차수의 다항식으로 표현될 수 있어 공격에 취약해질 수 있다. 이는 선형 암호해독이 선형 근사를 통해 확률적 관계를 찾는 것과는 달리, 확정적인 방정식을 구성하고 해를 구한다는 점에서 차별성을 가진다.
이러한 공격에 효과적으로 대응하기 위해서는 암호 설계 시 충분한 비선형성을 확보하는 것이 중요하다. AES와 같은 현대 암호는 갈루아 체 상의 복잡한 연산을 도입하여 대수적 구조를 최대한 감추고, 대수적 공격에 필요한 방정식의 차수와 복잡도를 매우 높여 실질적인 공격을 어렵게 만든다. 따라서 대수적 공격은 암호의 대수적 취약성을 평가하는 중요한 분석 도구로서의 의미를 가지며, 안전한 암호 설계를 위한 기준을 제공한다.
7. 여담
7. 여담
선형 암호해독은 암호학의 중요한 분석 기법 중 하나로, 차분 암호해독과 함께 블록 암호의 안전성을 평가하는 핵심 도구이다. 이 공격 기법은 암호 알고리즘의 내부 구조에 존재할 수 있는 선형적 관계를 찾아내는 데 그 원리가 있으며, 이를 통해 암호키를 추정하거나 복원하는 것이 목표이다.
이론적으로는 DES와 같은 고전적인 암호뿐만 아니라, 현대의 다양한 경량암호에 대한 분석에도 적용 가능하다. 실제로는 FEAL 암호에 대한 성공적인 공격 사례가 유명하며, 이는 암호 설계 시 비선형성과 확산 성질이 얼마나 중요한지를 보여주는 교훈이 되었다.
암호학 연구 커뮤니티에서는 선형 암호해독의 효율성을 높이기 위한 다양한 변형과 개선 기법이 지속적으로 연구되고 있다. 이러한 공격 기법에 대한 이해는 단순히 취약점을 찾는 것을 넘어, 더 강력한 암호 프로토콜과 암호 시스템을 설계하는 데 필수적인 지식으로 자리 잡고 있다.
